Cloud computing is a model of service delivery for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g. networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) that can be rapidly provisioned and released with minimal management effort or interaction with a provider of the service. In cloud computing, providers offer their services according to several models: Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS). In an Infrastructure as a Service (IaaS) cloud, for example, the capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, deployed applications, and possibly limited control of select networking components (e.g., host firewalls). In a PaaS cloud, for example, the capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created or acquired applications created using programming languages and tools supported by the provider. In a SaaS cloud, for example, the capability provided to the consumer is to use the provider's applications running on a cloud infrastructure.
The hosting service provider (e.g. a managed infrastructure as a cloud) imposes a set of requirements on the source hostable contents/entity that are hosted. The source hostable entity needs to conform to these requirements to ensure the content being migrated will function properly after the migration.